Copyright: Copyright Eric Verbaere 05/94


Index général

Main  Index of MakHlp

 What is the program fonction ?

 How to create a help

 Program dialog boxes

 Code génération

 Classical example

 Visual C++ Example

 Visual Basic Example

 Future improvements


Fenetre principale
Main Window

This program is a shareware. That mean's that it's not free. If you use it and if you enjoy it, you have to send me your modest contribution.
You'll then receive the last registred version and the future updates.
All your suggestions are wellcome

To register you, read the REGISTER.TXT given with the program

INDEX


Dialogue Aboux
About...

About of this first version, thank you to register

Main index


Utilité de ce programme
Why and What ??

MAKHLP is a Windows Help Authoring Tools

MakHlp makes the necessary files to create a window's help( .hlp file). You must have the help compiler HC31.EXE produced by Microsoft. You can find this file :
SDK31
COMPUSERV
many BBS of Microsoft
Ex: 	Luxembourg (32) 2-7350045  (HCP.ZIP)
England (44) 734 270065.

This help can be used by any program.

Although this program is able to create a help for all sorts of program, it's specially made for the users of the Visual C++, in this case the programmers can effectively directly link the menus and windows to get a context sensitive help (You must precise that at the generation by AppWizard)

See :How create a help

See :Example


Dialogue option projet
Edit options

Project name:

You have to give a name to your project for all code generation.

Content:

This field allows to specify the choosen index page when you ask the index of a help.

Title:

It's the title of the main window.

Copyright:

This field allows to display in the About box a personnal Copyright.

Icon Filename:

The name of the file ICON (.ico) used with the help is noticed in this field.

Directory name:

This fiel allows to specify the directory where the set of the files are generated.
Advice:it's better to use this field if you don't want that all the helps are in the same directory.

Error File:

The compilation errors are stocked in this file.

Compression & error options

The CDROM check box allows to specify the creation of a file optimized for CDROM access.
The choice compression allows to specify the performance of compression used for the bitmap.
The "RAPPORT" check box permit the creation of error's message.
The choice "Warning" allows to specify the level warning.

External Includes:

Il est possible d'inclure dans l'aide des fichiers includes externes pour des liens entre un programme et une aide.
If you want to create links between a program and a help, it's possible to include external file with the extension  .hm

External RTF

It's possible to include RTF files from other origins in the help file.

Menu dialog box


Boite de dialogue
Dialog Box of the programme

Dialog: general configuration

Dialog: general options

Dialog: Project Option

See dialog project option

Dialog: Visual C++ Options

 Visual C++ Dialog

Choice subject type

Dialog: Type choice

Topic edition

Dialog: Topic editing

Dialog:Subject editing

Subject editing

Dialog: subjects exchange

Dialog: subects exchange

About Box

 Dialog: About Box


Dialogue sujet
Edit subject

This dialog allows to edit a paragraph of a topic. It's possible to specify alignement, colors, font, and different margins. (left,right,before,after)

See Example

 Types :Titles, Sub Title and indented Text

Alignement possibilities: left,right,center
Indent1° line: it's the indentation of the first line of a paragraph
Check Box "end Para": incicate the end of the paragraph, else the next description will be on the same line.
Check Box "default style":after a paragraph end, it resore the default style for alignement.
Check Box "No Scroll": create a fied region in the top of the page. Take care: only the first desciptions  of the page can get the property.
Check Box "bar Vert":create a vertical bar at the left of the paragraph
Check Box "Cadre":create un cadre around the paragraph
Check Box "Fixe":create a fixed paragraph (not wrapped)

Les Types BitMapTexte et Saut

Alignement possibilities: left,right,center
Indent1° line: it's the indentation of the first line of a paragraph
Check Box "end Para": incicate the end of the paragraph, else the next description will be on the same line.
Check Box "default style":after a paragraph end, it resore the default style for alignement.
Check Box "No Scroll": create a fied region in the top of the page. Take care: only the first desciptions  of the page can get the property.
Check Box "bar Vert":create a vertical bar along the left of the paragraph
Check Box "Cadre":create un cadre around the paragraph
Check Box "Fixe":create a fixed paragraph (not wrapped)
The use of the check box  "picture on  the right" and "picture on line" is more ingenious.
"Picture on the right" allows to define a bitmap used with the text on the left of the bitmap. A similar result can sometimes be reached without checking this check box, but selecting a right alignement
Check box "picture on line" allows to announce a bitmap that will be interpreted like a caracter of a text. That means tha it will be aligned on the bottom.Take care: a bitmap with center alignment is automatically declared of type "picture on line"

The combo box on the left allow to define the type of links choosen.
For the moment the links are:nothing, jump, sound,popup
Jump:it's necessary to specify the name of the topic choosen.
Sound: You must select .WAV file
Popup:it's necessary to specify the name of the topic choosen.

Menu diaolog box


Menu Fabrique Tout
Build All

Build all the files


Générateur Lien Visual
Include VisualC++ file generation

This option build a XXX.hm file from the "resource.h" file of project.Standard MFC ID and the identificators of resources begin with a prefix:
Commands:        	ID_,IDM_
Prompts :         	IDP_
Resources:	IDR_
Dialogs:        	IDD_
Frame Controls:  	IDW_

The generated file is imported in the program and it's possible to link a topic to an identificator. For instance if IDD_ABOUTBOX is linked to a topic, when you press the "F1" key inside this box, the help is directly displayed on this topic.

Other generation


Les générateurs
Automatic code generation

 Include  Visual C++ generation

 RTF generation

 HPJ generation

 HLP generation


Générateur de RTF
RTF file generation

The topics of the program are converted in a RTF file. This format is used by the help compiler.

Other generation


Génération du HPJ
HPJ file generation

The HPJ file contains the description of the help project.

Other generation


Générateur HLP
HLP file generation

The .HLP file is created from .RTF and .HPJ files.
The help compiler HC31.EXE (deliver with SDK31 or available on compuserv and on some good BBS) compiles these files.

Utility of MAKHLP


Dialogue option Visual C++
Dialog:VisualC++ options

Differents ID types are possible : (AFX, controle, dialogue..)
If you don't want the maximum of choices in the ID's selection, it's possible to filter some types.
If checking the box "All", all imported identificators are in the combo box.

This box allows to disable the automatic generation of the include xxx.hm file from resource.h file (used by AppStudio).

 A Help file with no  Visual C++ link  must disable the link modification.

At each time you leave the dialog "options/project" and "options/Visual C++", the xxx.hm is analysed. If some HID_ used in the help are no more in the include files, a destruction of not used link is engaged. But just before this destruction process, a window prompt can cancel it. So  if you destroy by mistake the xxx.hm file all links are immediatly going to be destroy.

This box enables the automatic generation of 2 files:
- xxx.ind contains all Topic name:n ASCII+CR
- xxx.key  contains all Keywords: ASCII+CR
This is usefull for a program which can search the existence of a keyword before call winhelp.exe.
These files are not sorted and xxx.key may have double. The use of those files allows th avoid the classical Winhelp message:"Topic does'nt exist"

The selection of the resource file is obligatory to establish  links with a Visual C++ project.
Indeed, MakHlp extracts the xxx.hm file from the resource.h file used by AppStudio.

The directory of the afxhelp.hm file is obligatory to see links of MFC

Menu dialog box


Charger dernier fichier
Open recent file

open 4 last files used


Comment faire une aide
BUILD a HELP File

First Part

-Begin with a new document
-Menu Options/Project:

- project name  (it's the name of the future help file)
- select works directory (for files  .RTF, .HPJ and .HM)

Part Two

If your project isn't a Visual C++ project you can jump this part

You must specify link options with the Visual C++ project. So you select the menu Options/VisualC++".
You must first select the resource file "resource.h" used by AppStudio.
Then select the file afxhelp.hm in the MFC directories (dans MSVC\MFC\INCLUDE).
To create the file "fichier .hm", it's necessary to check the first check box :"Allow  link modification".

See dialog Visual C++ options

Third Part

You must now work in the editor, good luck

See Example


Menu About

About Dialog


Dialogue options générales
General options dialog

This dialog box allows to define the default margins of the main paragraphs. These values are saved in the .ini of the program. Any modification in this file can be fatal. In this extreme case, it's necessary to clear the suspect lines or all the file.

Menu dialog box


Dialogue échange sujets
Exchange of Subjects

Dialog box menu


Dialogue choix du type
Selection of subect type

Text of  type TITLE,font: MS SERIF ,Size:24 ,bold

Text of   type Sub TITLE,  font MS SERIF , Size 18 , bold

Indented text , font MS SERIF ,size 10

Normal  text , font MS SERIF ,size 10

Select a bitmap. A click on the picture can produce:
- jump to another topic
- play a sound(select a .WAV)
- open a window Popup

Select a text, a click on this can produce:
- jump to another topic
- play a sound(select a .WAV)
- open a window Popup

Menu dialog box


Dialogue Edition Groupe
Topic edition

The field  "Name" allows to specify the topic name, it's a internal name that will only appear in the combo box of link. Only the caracters between a et z are authorized.

The fied "title" indicate the name that will be show in the research box of winhelp.exe.

The choice of the reference allows to link a topic with a context sensitive identificator  (menu, dialog, window ...)

The keywords are used in the search dialog of winhelp.exe.They allows to look for a very special subject in the help file. It's possible to enter several keywords for one topic.


Ouvrir un fichier
Open file

Open a existing file


Menu Fichier Nouveau
Menu New file

Empty the document


Menu Fichier Sauver
Save file

Save the document


Menu fichier Sauver Sous
Menu Save file as

Save the document with a new name


Menu  Configuration imprimante
Print setup

Configure the printer


Menu Fichier Quitter
Quit program

Program's end


Menu Voir Tools Bar
Tools Bar

Hide or show the tools bar


Menu Vues Status Bar
Status bar

Hide or show the status bar


Menu test help
Help Test

Allows to test the help in developpement


Menu Echange de sujets
Exchange subject between topics

Display a dialog transfering subject between topics


Menu Options Generale
Menu general options dialog

Display the dialog for the optionsSee general options dialog


Menu Options projet
Menu dialog of Projects options

Display a dialog editing project optionsSee Project Option dialog


Menu Options Visual C++
Menu Dialogue of Visual C++ options

Display the  dialog editing the Visual C++ optionsSee Visual C++ option dialog


Ouvrir Fichier
Dialog: Open a file

This dialog allow the selection of a file


Dialogue sauver fichier
Dialog: Save file

This dialog allow to save a file


Dialogue choix des fonts
Dialog:Font choice

This dialog allow you to choice types ,sizes and colors


Aide Contextuel
Contextual Help

Pushing this key displays the contextual help on that you show.


Menu Index de l'aide
Menu Help Index

With this menu you directly enter on the help index


Menu Utilisation de l'aide
Menu Use Help

Help on the help


Exemple Type
Typical Example

Use l'option "picture on line"
When this option is checked, the bitmap is considered as a character.

 Choice 1 Popup	 Choice Window 2

test+2TAB	BitMap aligned

Normal text, it's can be left,right,center alignedJump in center onThe example window 2,it's really un good example with a box around the paragraph

Idented normal text with un vertical bar on the left, the indentation is 1 cm on the first line

This is a normal text but it has got the "fixed atttribut", that means that it won't be cut at the time of the sizing main window.
Only a return can impose a new line

This the beginning of a text with a bitmap [image] just a the middle of a line of text


Exemple Fenetre 1
Window 1  Popup

small  bitmap without  action


Exemple Fenetre 2
Example window 2

Sound example


Futures extensions
Future Improvements

If this program is sucessful, I can see more extensions:

- context sensitive generation pour Visual Basic
- context sensitive generation pour BC4++
- JUMP inter file HLP
- MACRO definition
- Prévisualisation
- Import RTF files
- better editor
- Definition of global link

et vos idées.............................


Visual C++ Example

See the source file makhlp.ehe to see how to make link with a Visual C++ project


Exemple Visual Basic
Visual Basic Exemple

It's possible to link a visual basic application with a help file. But You must type yourself the file ".hm" witch contains the HelpContextID. I made a small example named "VBASIC.EHE" with only one sensitive context window. The context ID associated to this window is 10, I've named it TEST_FEN1 in the file VBASIC.HM